package com.osdp.uc.vo;

import com.google.common.collect.Lists;
import com.osdp.common.annotation.Dict;
import com.osdp.common.base.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.util.List;

/**
 * 组织表
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="UcOrganization对象", description="组织表")
public class UcOrganizationVo extends BaseVo  {
	/**机构编码*/
	@ApiModelProperty(value = "部门编码")
	@Excel(name="部门编码",width=15)
	private String orgCode;
	/**
     * 部门名称
	 */
	@ApiModelProperty(value = "部门名称")
	@Excel(name="部门名称",width=15)
	private String orgName;//机构名称
	/**英文名*/
	@ApiModelProperty(value = "英文名")
	@Excel(name="英文名",width=15)
	private String orgNameEn;
	/**缩写*/
	@ApiModelProperty(value = "缩写")
	private String orgNameAbbr;

//	private String entId;//机构实体标识一个机构部门的唯一真正实体的标识

//	private String phone;
//	@ApiModelProperty(value = "手机号")
//	@Excel(name="手机号",width=15)
//	private String mobile;
	/**传真*/
	@ApiModelProperty(value = "传真")
	@Excel(name="传真",width=15)
	private String fax;
	/**地址*/
	@ApiModelProperty(value = "地址")
	@Excel(name="地址",width=15)
	private String address;

	@ApiModelProperty(value = "Email")
	@Excel(name="地址",width=15)
	private String email;
	/**1单位，2部门*/
//	private String orgClass;
	/**
	 * 设置父路径，父对象的Fid链。用";"分开.本身的ID也写进去
	 */
	private String fpath;
	/**1表示是叶子  0表示不是叶子*/
	private Boolean isLeaf;
	/**体系ID*/
	@Excel(name = "体系ID", width = 15)
    @ApiModelProperty(value = "体系ID")
	private String orgTypeId;

	/**父节点ID*/
	@Excel(name = "父节点ID", width = 15)
    @ApiModelProperty(value = "父节点ID")
	private String parentId;

	@Excel(name = "父节点名称", width = 15)
	@ApiModelProperty(value = "父节点名称")
	private String parentName;

	/**状态（1启用，0不启用）*/
	@ApiModelProperty(value = "状态（1启用，0不启用）")
	@Excel(name="状态",width=15)
	@Dict(dicCode = "validation")
	private String validation;
	/**
	 * 租户ID
	 */
	@ApiModelProperty("租户ID")
	@Excel(name = "租户ID", width = 15)
	private String tenantId;

	/**描述*/
	@ApiModelProperty(value = "描述")
	@Excel(name="描述",width=15)
	private Object description;

	private List<UcOrganizationVo> children = Lists.newArrayList();

//	@Excel(name = "删除状态（0，正常，1已删除）", width = 15)
//	@ApiModelProperty(value = "删除状态（0，正常，1已删除）")
//	@TableLogic
//	private Integer delFlag;
	/**
	 * 判断是否删除
	 *
	 * @return
	 */
//	public boolean deleted() {
//		return delFlag == CommonConstant.FLAG_ONE_1;
//	}
}
